package com.pxst.internalReports.resp;

import com.pxst.internalReports.entity.SysBankBillRemarkEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author Chrissy
 * @since 2023-11-01 15:01:35
 */
@Data
@ApiModel(value = "虚拟银行对账单的搜索响应结果集数据单体")
public class VirtualBankStatementSearchRespData {
    /**
     * 银行对账单表的id
     */
    private Integer sysBankBillId;

    /**
     * 银行对账单表的交易时间
     */
    private LocalDateTime tradeTime;

    /**
     * 银行对账单的商户Id(前端不用)
     */
    private Long merchantId;


    /**
     * 银行对账单表的描述
     */
    private String description;

    /**
     * 银行对账单表的转出
     */
    private BigDecimal debit;

    /**
     * 银行对账单表的转入
     */
    private BigDecimal credit;

    /**
     * 银行对账单表的讯银余额
     */
    private BigDecimal balanceXy;

    /**
     * 银行对账单表的更新时间
     */
    private LocalDateTime updatedAt;

    /**
     * 银行对账单表的创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 银行对账单表的创建者
     */
    private String creator;

    /**
     * 银行对账单表的更新者
     */
    private String updator;

    /**
     * 银行对账单表的币种
     */
    private String currency;

    /**
     * 银行对账单表的类型
     */
    private Integer type;

    /**
     * 银行对账单表的void（是否作废）
     */
    private Integer void_;

    /**
     * 银行对账单表的重复帐VBS
     */
    private Integer duplicateId;

    /**
     * 银行对账单表的交易模式
     */
    private Integer txnMode;

    /**
     * 银行对账单表的作废请求者
     */
    private String voidRequester;

    /**
     * 银行对账单表的作废批准者
     */
    private String voidApprover;

    /**
     * 银行对账单表的作废批准时间
     */
    private LocalDateTime voidApprovedAt;

    /**
     * 银行对账单表的作废拒绝者
     */
    private String voidRejector;

    /**
     * 银行卡群表对应的类别能用的只有0
     */
    private Integer groupType = 0;


    /**
     * 商户信息表的商户名称
     */
    private String merchantInfoName;

    /**
     * 商户信息表的商户编码
     */
    private String merchantInfoCode;

    /**
     * 系统可用银行表的银行名称
     */
    private String availableBankName;

    /**
     * 系统银行卡信息的账户码
     */
    private String accountCode;

    /**
     * 银行对账单的我们的单号
     */
    private String commandId;

    /**
     * 银行对账单的我们的单号
     */
    private String redVbsId = commandId;

    /**
     * 标志银行对账单表的记录在讯银余额移动记录表中是否有记录（有为1，没有为0）
     */
    private Integer history;

    /**
     * 银行对账单的参考编号
     */
    private String reference;


    /**
     * Settlement_下发订单表的TransactionCode交易代码
     */
    private String trCode;

    /**
     * 虚拟银行对账单对账用表的余额
     */
    private BigDecimal trialBalance;

    /**
     * 从日志表里去查是否有对应的记录即可
     */
    private Boolean isLog;

    /**
     * 银行对账单表的银行手续费
     */
    private BigDecimal bankFee;

    /**
     * 从前端传过来的当前操作管理员的名称
     */
    private String adminUsername;

    /**
     * 这个我不知道是干啥的,反正响应结果有QAQ
     */
//    private 数组 children;

    /**
     * 银行对账单表中的记录对应的VBS备注表中的所有记录
     */
    private List<SysBankBillRemarkEntity> remark;

}
